package com.carlinfo.demo.service;

import java.util.List;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.carlinfo.common.util.PageInfoUtil;
import com.carlinfo.demo.pojo.ADynasty;
import com.carlinfo.demo.pojo.AKing;

/**
 * 模块名Service
 * 
 */
public interface IDemoService
{
	/*-------朝代管理开始--------*/
	/**
	 * 保存一条朝代
	 * 
	 * @param dynasty
	 * @return 此sql语句影响的条数
	 * {
	 * 	响应吗:0:成功,
	 * 		"code":"0",
	 * 		响应信息
	 * 		"info":"",
	 * 		数据
	 * 		"data":
	 * 		{
	 * 			影响的条数
	 * 			"effect":"0",
	 * 			id
	 * 			"id":"6"
	 * 		}
	 * }
	 */
	JSONObject saveOneDynastyService(ADynasty dynasty);

	/**
	 * 更新一条朝代
	 * 
	 * @param dynasty
	 * @return 此sql语句影响的条数
	
	 */
	JSONObject updateOneDynastyService(ADynasty dynasty);

	/**
	 * 删除记录
	 * 
	 * @param condMap key:sql语句中的条件对应的形参:val:实参
	 * @return 此sql语句影响的条数
	 */
	JSONObject deleteOneDynastyService(Map<String, Object> condMap);

	/**
	 * 查询一条记录 ~需求:按照ID查询 ~按照name查询(name不能重复)
	 * 
	 * @param condMap key:sql语句中的条件对应的形参:val:实参
	 * @return 查询的朝代
	 */
	ADynasty selectOneDynastyService(Map<String, Object> condMap);

	/**
	 * 查询多条记录:条件更是五花八门
	 * 
	 * @param condMap key:sql语句中的条件对应的形参:val:实参
	 * @return 查询多条朝代
	 */
	List<ADynasty> selectListDynastyService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---------朝代管理结束---------*/

	/*-------皇上管理开始--------*/
	/**
	 * 保存一条皇上
	 * 
	 * @param king
	 * @return 此sql语句影响的条数
	 * {
	 * 	响应吗:0:成功,
	 * 		"code":"0",
	 * 		响应信息
	 * 		"info":"",
	 * 		数据
	 * 		"data":
	 * 		{
	 * 			影响的条数
	 * 			"effect":"0",
	 * 			id
	 * 			"id":"6"
	 * 		}
	 * }
	 */
	JSONObject saveOneKingService(AKing king);

	/**
	 * 更新一条皇上
	 * 
	 * @param king
	 * @return 此sql语句影响的条数
	
	 */
	JSONObject updateOneKingService(AKing king);

	/**
	 * 删除记录
	 * 
	 * @param condMap key:sql语句中的条件对应的形参:val:实参
	 * @return 此sql语句影响的条数
	 */
	JSONObject deleteOneKingService(Map<String, Object> condMap);

	/**
	 * 查询一条记录 ~需求:按照ID查询 ~按照name查询(name不能重复)
	 * 
	 * @param condMap key:sql语句中的条件对应的形参:val:实参
	 * @return 查询的皇上
	 */
	AKing selectOneKingService(Map<String, Object> condMap);

	/**
	 * 查询多条记录:条件更是五花八门
	 * 
	 * @param condMap key:sql语句中的条件对应的形参:val:实参
	 * @return 查询多条皇上
	 */
	List<AKing> selectListKingService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---------皇上管理结束---------*/

}
